package jmu.cultural_tourism.service;

import jmu.cultural_tourism.entity.PostInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import java.util.List;



/**
 * 帖子表(PostInfo)表服务接口
 *
 * @author makejava
 * @since 2025-07-17 10:38:43
 */

public interface PostInfoService {

    /*通过ID查询单条数据*/
    PostInfo queryById(Integer postId);


    List<PostInfo> queryAll(PageRequest pageRequest);

    Page<PostInfo> fuzzyPost(String fuzzyContent, PageRequest pageRequest);

    Page<PostInfo> queryAllByLikeDesc(PageRequest pageRequest);

    /*分页查询*/
    Page<PostInfo> queryByPage(PostInfo postInfo, PageRequest pageRequest);

    /*新增数据*/
    PostInfo insert(PostInfo postInfo);

    /*修改数据*/
    PostInfo update(PostInfo postInfo);

    /*通过主键删除数据*/
    boolean deleteById(Integer postId);

    /**
     * 通过userId找到用户收藏的帖子
     *
     * @param userId 主键
     * @return 是否成功
     */
    Page<PostInfo> queryCollectedPostsByUserId(Integer userId, PageRequest pageRequest);

    //用户是否收藏某个帖子
    // PostInfoService.java
    boolean isPostCollected(Integer userId, Integer postId);

    //新增收藏
    boolean addPostCollection(Integer userId, Integer postId);

    boolean deletePostCollection(Integer userId, Integer postId);
}
